﻿
using System;
using System.Data.SqlClient;
using System.Globalization;
using System.Runtime.Serialization;
using ProtoBuf;/*https://github.com/ServiceStack/ServiceStack/tree/master/lib*/
using ServiceStack.Text;/*https://github.com/ServiceStack/ServiceStack.Text*/
using V82;
using V82.ОбщиеОбъекты;
using V82.ДокументыСсылка;
using V82.ДокументыОбъект;
using V82.ДокументыСсылка;
using V82.Перечисления;//Ссылка;
namespace V82.ДокументыОбъект
{
	///<summary>
	///(Регл)
	///</summary>
	[ProtoContract]
	[DataContract]
	public partial class ОтпускПоУходуЗаРебенком:ДокументОбъект
	{
		public bool _ЭтоНовый;
		public bool ЭтоНовый()
		{
			return _ЭтоНовый;
		}
		[DataMember]
		[ProtoMember(1)]
		public Guid Ссылка {get;set;}
		[DataMember]
		[ProtoMember(2)]
		public long Версия {get;set;}
		[DataMember]
		[ProtoMember(3)]
		public string ВерсияДанных {get;set;}
		/*static хэш сумма состава и порядка реквизитов*/
		/*версия класса восстановленного из пакета*/
		[DataMember]
		[ProtoMember(4)]
		public bool ПометкаУдаления {get;set;}
		[DataMember]
		[ProtoMember(5)]
		public DateTime Дата {get;set;}
		[DataMember]
		[ProtoMember(6)]
		public DateTime ПрефиксНомера {get;set;}
		[DataMember]
		[ProtoMember(7)]
		public string/*11*/ Номер {get;set;}
		[DataMember]
		[ProtoMember(8)]
		public bool Проведен {get;set;}
		[DataMember]
		[ProtoMember(9)]
		public V82.СправочникиСсылка.Организации Организация {get;set;}
		///<summary>
		///Любая дополнительная информация
		///</summary>
		[DataMember]
		[ProtoMember(10)]
		public string/*(0)*/ Комментарий {get;set;}
		[DataMember]
		[ProtoMember(11)]
		public V82.СправочникиСсылка.Пользователи Ответственный {get;set;}
		[DataMember]
		[ProtoMember(12)]
		public V82.СправочникиСсылка.СотрудникиОрганизаций Сотрудник {get;set;}
		[DataMember]
		[ProtoMember(13)]
		public V82.СправочникиСсылка.ФизическиеЛица Физлицо {get;set;}//Физическое лицо
		[DataMember]
		[ProtoMember(14)]
		public DateTime ДатаДействия {get;set;}//Дата действия
		[DataMember]
		[ProtoMember(15)]
		public DateTime ДатаНачала {get;set;}//Дата начала
		[DataMember]
		[ProtoMember(16)]
		public DateTime ДатаОкончания {get;set;}//Дата окончания
		[DataMember]
		[ProtoMember(17)]
		public DateTime ДатаОкончанияПособияДоПолутораЛет {get;set;}//Дата окончания пособия до полутора лет
		[DataMember]
		[ProtoMember(18)]
		public DateTime ДатаОкончанияПособияДоТрехЛет {get;set;}//Дата окончания пособия до трех лет
		[DataMember]
		[ProtoMember(19)]
		public decimal/*(15.2)*/ СреднедневнойЗаработок {get;set;}//Среднедневной заработок
		[DataMember]
		[ProtoMember(20)]
		public decimal/*(2)*/ КоличествоДетей {get;set;}//Количество детей
		[DataMember]
		[ProtoMember(21)]
		public decimal/*(1)*/ КоличествоПервыхДетей {get;set;}//Количество первых детей
		[DataMember]
		[ProtoMember(22)]
		public bool ВыплачиватьПособиеДоПолутораЛет {get;set;}//Выплачивать пособие до полутора лет
		[DataMember]
		[ProtoMember(23)]
		public bool ВыплачиватьПособиеДоТрехЛет {get;set;}//Выплачивать пособие до трех лет
		[DataMember]
		[ProtoMember(24)]
		public V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию УдалитьПриказ {get;set;}//Удалить приказ
		[DataMember]
		[ProtoMember(25)]
		public bool ОсвобождатьСтавку {get;set;}//Освобождать ставку
		[DataMember]
		[ProtoMember(26)]
		public bool ДанныеПрошлойВерсии {get;set;}//Перенесен из 7.7
		[DataMember]
		[ProtoMember(27)]
		public V82.ДокументыСсылка.ОтпускПоУходуЗаРебенком ИсправляемыйДокумент {get;set;}//Исправляемый документ
		[DataMember]
		[ProtoMember(28)]
		public ХранилищеЗначения ДвиженияИсправляемогоДокумента {get;set;}//Движения исправляемого документа
		///<summary>
		///Дата начала расчетного периода
		///</summary>
		[DataMember]
		[ProtoMember(29)]
		public DateTime ПериодРасчетаСреднегоЗаработкаНачало {get;set;}//Период расчета среднего заработка начало
		///<summary>
		///Дата окончания расчетного периода
		///</summary>
		[DataMember]
		[ProtoMember(30)]
		public DateTime ПериодРасчетаСреднегоЗаработкаОкончание {get;set;}//Период расчета среднего заработка окончание
		[DataMember]
		[ProtoMember(31)]
		public bool ПрименятьЛьготыПриНачисленииПособия {get;set;}//Применять льготы при начислении пособия
		[DataMember]
		[ProtoMember(32)]
		public decimal/*(15.2)*/ СреднедневнойЗаработокПереходногоПериода2010 {get;set;}//Среднедневной заработок переходного периода - 2010
		[DataMember]
		[ProtoMember(33)]
		public bool УчитыватьЗаработокПредыдущихСтрахователей {get;set;}//Учитывать заработок предыдущих страхователей
		[DataMember]
		[ProtoMember(34)]
		public bool РасчетПоПравилам2010Года {get;set;}//Расчет по правилам 2010 года
		[DataMember]
		[ProtoMember(35)]
		public bool ПеречислятьПособиеПочтовымПереводом {get;set;}//Перечислять пособие почтовым переводом
		[DataMember]
		[ProtoMember(36)]
		public V82.СправочникиСсылка.Банки Банк {get;set;}
		[DataMember]
		[ProtoMember(37)]
		public string/*(100)*/ НаименованиеБанка {get;set;}//Наименование банка
		[DataMember]
		[ProtoMember(38)]
		public string/*(9)*/ БИКБанка {get;set;}//БИК банка
		[DataMember]
		[ProtoMember(39)]
		public string/*(20)*/ НомерЛицевогоСчета {get;set;}//Номер лицевого счета
		[DataMember]
		[ProtoMember(40)]
		public string/*(240)*/ АдресПочтовый {get;set;}//Адрес почтовый
		///<summary>
		///(Общ)
		///</summary>
		[DataMember]
		[ProtoMember(41)]
		public string/*(40)*/ Фамилия {get;set;}
		///<summary>
		///(Общ)
		///</summary>
		[DataMember]
		[ProtoMember(42)]
		public string/*(40)*/ Имя {get;set;}
		///<summary>
		///(Общ)
		///</summary>
		[DataMember]
		[ProtoMember(43)]
		public string/*(40)*/ Отчество {get;set;}
		[DataMember]
		[ProtoMember(44)]
		public V82.СправочникиСсылка.ДокументыУдостоверяющиеЛичность ВидДокумента {get;set;}//Вид документа
		[DataMember]
		[ProtoMember(45)]
		public string/*(14)*/ СерияДокумента {get;set;}//Серия документа
		[DataMember]
		[ProtoMember(46)]
		public string/*(14)*/ НомерДокумента {get;set;}//Номер документа
		[DataMember]
		[ProtoMember(47)]
		public DateTime ДатаВыдачиДокумента {get;set;}//Дата выдачи документа
		[DataMember]
		[ProtoMember(48)]
		public DateTime ДатаДействияДокумента {get;set;}//Дата действия документа
		[DataMember]
		[ProtoMember(49)]
		public V82.СправочникиСсылка.ДолжностиОрганизаций ДолжностьУполномоченного {get;set;}//Должность уполномоченного
		[DataMember]
		[ProtoMember(50)]
		public V82.СправочникиСсылка.ФизическиеЛица Уполномоченный {get;set;}
		[DataMember]
		[ProtoMember(51)]
		public string/*(240)*/ АдресРегистрации {get;set;}//Адрес регистрации
		[DataMember]
		[ProtoMember(52)]
		public DateTime ДатаСправкиОНеполученииПособияОтОтца {get;set;}//Дата справки о неполучении пособия от отца
		[DataMember]
		[ProtoMember(53)]
		public string/*(20)*/ НомерСправкиОНеполученииПособияОтОтца {get;set;}//Номер справки о неполучении пособия от отца
		[DataMember]
		[ProtoMember(54)]
		public DateTime ДатаСправкиОНеполученииПособияОтМатери {get;set;}//Дата справки о неполучении пособия от матери
		[DataMember]
		[ProtoMember(55)]
		public string/*(20)*/ НомерСправкиОНеполученииПособияОтМатери {get;set;}//Номер справки о неполучении пособия от матери
		[DataMember]
		[ProtoMember(56)]
		public bool ПроживаниеРаботаВЛьготнойЗоне {get;set;}//Проживание работа в льготной зоне
		[DataMember]
		[ProtoMember(57)]
		public V82.Перечисления/*Ссылка*/.ВидыЗонРадиационногоПоражения СтатусЛьготнойЗоны {get;set;}//Статус льготной зоны
		[DataMember]
		[ProtoMember(58)]
		public DateTime ДатаСправкиПоДругимМестамРаботы {get;set;}//Дата справки по другим местам работы
		[DataMember]
		[ProtoMember(59)]
		public string/*(20)*/ НомерСправкиПоДругимМестамРаботы {get;set;}//Номер справки по другим местам работы
		[DataMember]
		[ProtoMember(60)]
		public string/*(0)*/ КемВыданДокумент {get;set;}//Кем выдан документ
		[DataMember]
		[ProtoMember(61)]
		public DateTime ДатаВыдачиДокументаНаПроживание {get;set;}//Дата выдачи документа на проживание
		[DataMember]
		[ProtoMember(62)]
		public string/*(14)*/ НомерДокументаНаПроживание {get;set;}//Номер документа на проживание
		[DataMember]
		[ProtoMember(63)]
		public string/*(14)*/ СерияДокументаНаПроживание {get;set;}//Серия документа на проживание
		[DataMember]
		[ProtoMember(64)]
		public string/*(100)*/ НаименованиеДокументаНаПроживание {get;set;}//Наименование документа на проживание
		///<summary>
		///Корреспонденский счет банка
		///</summary>
		[DataMember]
		[ProtoMember(65)]
		public string/*(20)*/ КоррСчетБанка {get;set;}//Корр. счет банка
		[DataMember]
		[ProtoMember(66)]
		public string/*(15)*/ Телефон {get;set;}
		[DataMember]
		[ProtoMember(67)]
		public bool РасчетПособияИзТарифнойСтавки {get;set;}//Расчет пособия из тарифной ставки
		[DataMember]
		[ProtoMember(68)]
		public decimal/*(15.2)*/ ТарифнаяСтавкаОклад {get;set;}//Тарифная ставка оклад
		[DataMember]
		[ProtoMember(69)]
		public string/*(30)*/ ТелефонСоставителя {get;set;}//Телефон составителя
		[DataMember]
		[ProtoMember(70)]
		public string/*(17)*/ АдресПочтовыйКодПоКЛАДР {get;set;}//Адрес почтовый код по КЛАДР
		public void Записать()
		{
			//Установка блокировки элемента на горизантально масштабированный кластер.
			//Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
			//Выделение сервиса для блокировки элемента и генерации кода
			//Выполнение операций контроля без обращений к sql-серверу.
			//Контроль конфликта блокировок.
			//Контроль загрузки булкинсертом гетерогенной коллекции.
			//Контроль уникальности кода для Документов.
			//Контроль уникальности номера для документов, в границах префикса.
			//Контроль владельца, он не может быть группой.
			//Контроль владельца он должен быть задан.
			//Контроль родителя он должен быть группой.
			//Контроль количества уровней, должен соотвествовать метаданным.
			//Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
			//Контроль уникальности ссылки
			//Контроль зацикливания
			//Опционально контроль битых ссылок.
			//Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					if(_ЭтоНовый)
					{
						Команда.CommandText = @"
						Insert Into _Document346(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld6981RRef
						,_Fld6982
						,_Fld6983RRef
						,_Fld21717RRef
						,_Fld6984RRef
						,_Fld6986
						,_Fld6987
						,_Fld6988
						,_Fld18781
						,_Fld18782
						,_Fld18783
						,_Fld18784
						,_Fld18785
						,_Fld18786
						,_Fld18787
						,_Fld6985RRef
						,_Fld23003
						,_Fld27075
						,_Fld27076RRef
						,_Fld27077
						,_Fld27078
						,_Fld27079
						,_Fld27080
						,_Fld27081
						,_Fld27082
						,_Fld27083
						,_Fld27084
						,_Fld27085RRef
						,_Fld27086
						,_Fld27087
						,_Fld27088
						,_Fld27089
						,_Fld27090
						,_Fld27091
						,_Fld27092
						,_Fld27093RRef
						,_Fld27094
						,_Fld27095
						,_Fld27096
						,_Fld27097
						,_Fld27098RRef
						,_Fld27099RRef
						,_Fld27100
						,_Fld27101
						,_Fld27102
						,_Fld27103
						,_Fld27104
						,_Fld27105
						,_Fld27106RRef
						,_Fld27107
						,_Fld27108
						,_Fld27109
						,_Fld27110
						,_Fld27111
						,_Fld27112
						,_Fld27113
						,_Fld27114
						,_Fld27115
						,_Fld27116
						,_Fld27117
						,_Fld27118
						,_Fld27119)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@Организация
						,@Комментарий
						,@Ответственный
						,@Сотрудник
						,@Физлицо
						,@ДатаДействия
						,@ДатаНачала
						,@ДатаОкончания
						,@ДатаОкончанияПособияДоПолутораЛет
						,@ДатаОкончанияПособияДоТрехЛет
						,@СреднедневнойЗаработок
						,@КоличествоДетей
						,@КоличествоПервыхДетей
						,@ВыплачиватьПособиеДоПолутораЛет
						,@ВыплачиватьПособиеДоТрехЛет
						,@УдалитьПриказ
						,@ОсвобождатьСтавку
						,@ДанныеПрошлойВерсии
						,@ИсправляемыйДокумент
						,@ДвиженияИсправляемогоДокумента
						,@ПериодРасчетаСреднегоЗаработкаНачало
						,@ПериодРасчетаСреднегоЗаработкаОкончание
						,@ПрименятьЛьготыПриНачисленииПособия
						,@СреднедневнойЗаработокПереходногоПериода2010
						,@УчитыватьЗаработокПредыдущихСтрахователей
						,@РасчетПоПравилам2010Года
						,@ПеречислятьПособиеПочтовымПереводом
						,@Банк
						,@НаименованиеБанка
						,@БИКБанка
						,@НомерЛицевогоСчета
						,@АдресПочтовый
						,@Фамилия
						,@Имя
						,@Отчество
						,@ВидДокумента
						,@СерияДокумента
						,@НомерДокумента
						,@ДатаВыдачиДокумента
						,@ДатаДействияДокумента
						,@ДолжностьУполномоченного
						,@Уполномоченный
						,@АдресРегистрации
						,@ДатаСправкиОНеполученииПособияОтОтца
						,@НомерСправкиОНеполученииПособияОтОтца
						,@ДатаСправкиОНеполученииПособияОтМатери
						,@НомерСправкиОНеполученииПособияОтМатери
						,@ПроживаниеРаботаВЛьготнойЗоне
						,@СтатусЛьготнойЗоны
						,@ДатаСправкиПоДругимМестамРаботы
						,@НомерСправкиПоДругимМестамРаботы
						,@КемВыданДокумент
						,@ДатаВыдачиДокументаНаПроживание
						,@НомерДокументаНаПроживание
						,@СерияДокументаНаПроживание
						,@НаименованиеДокументаНаПроживание
						,@КоррСчетБанка
						,@Телефон
						,@РасчетПособияИзТарифнойСтавки
						,@ТарифнаяСтавкаОклад
						,@ТелефонСоставителя
						,@АдресПочтовыйКодПоКЛАДР)";
					}
					else
					{
						Команда.CommandText = @"
						Update _Document346
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld6981RRef	= @Организация
						,_Fld6982	= @Комментарий
						,_Fld6983RRef	= @Ответственный
						,_Fld21717RRef	= @Сотрудник
						,_Fld6984RRef	= @Физлицо
						,_Fld6986	= @ДатаДействия
						,_Fld6987	= @ДатаНачала
						,_Fld6988	= @ДатаОкончания
						,_Fld18781	= @ДатаОкончанияПособияДоПолутораЛет
						,_Fld18782	= @ДатаОкончанияПособияДоТрехЛет
						,_Fld18783	= @СреднедневнойЗаработок
						,_Fld18784	= @КоличествоДетей
						,_Fld18785	= @КоличествоПервыхДетей
						,_Fld18786	= @ВыплачиватьПособиеДоПолутораЛет
						,_Fld18787	= @ВыплачиватьПособиеДоТрехЛет
						,_Fld6985RRef	= @УдалитьПриказ
						,_Fld23003	= @ОсвобождатьСтавку
						,_Fld27075	= @ДанныеПрошлойВерсии
						,_Fld27076RRef	= @ИсправляемыйДокумент
						,_Fld27077	= @ДвиженияИсправляемогоДокумента
						,_Fld27078	= @ПериодРасчетаСреднегоЗаработкаНачало
						,_Fld27079	= @ПериодРасчетаСреднегоЗаработкаОкончание
						,_Fld27080	= @ПрименятьЛьготыПриНачисленииПособия
						,_Fld27081	= @СреднедневнойЗаработокПереходногоПериода2010
						,_Fld27082	= @УчитыватьЗаработокПредыдущихСтрахователей
						,_Fld27083	= @РасчетПоПравилам2010Года
						,_Fld27084	= @ПеречислятьПособиеПочтовымПереводом
						,_Fld27085RRef	= @Банк
						,_Fld27086	= @НаименованиеБанка
						,_Fld27087	= @БИКБанка
						,_Fld27088	= @НомерЛицевогоСчета
						,_Fld27089	= @АдресПочтовый
						,_Fld27090	= @Фамилия
						,_Fld27091	= @Имя
						,_Fld27092	= @Отчество
						,_Fld27093RRef	= @ВидДокумента
						,_Fld27094	= @СерияДокумента
						,_Fld27095	= @НомерДокумента
						,_Fld27096	= @ДатаВыдачиДокумента
						,_Fld27097	= @ДатаДействияДокумента
						,_Fld27098RRef	= @ДолжностьУполномоченного
						,_Fld27099RRef	= @Уполномоченный
						,_Fld27100	= @АдресРегистрации
						,_Fld27101	= @ДатаСправкиОНеполученииПособияОтОтца
						,_Fld27102	= @НомерСправкиОНеполученииПособияОтОтца
						,_Fld27103	= @ДатаСправкиОНеполученииПособияОтМатери
						,_Fld27104	= @НомерСправкиОНеполученииПособияОтМатери
						,_Fld27105	= @ПроживаниеРаботаВЛьготнойЗоне
						,_Fld27106RRef	= @СтатусЛьготнойЗоны
						,_Fld27107	= @ДатаСправкиПоДругимМестамРаботы
						,_Fld27108	= @НомерСправкиПоДругимМестамРаботы
						,_Fld27109	= @КемВыданДокумент
						,_Fld27110	= @ДатаВыдачиДокументаНаПроживание
						,_Fld27111	= @НомерДокументаНаПроживание
						,_Fld27112	= @СерияДокументаНаПроживание
						,_Fld27113	= @НаименованиеДокументаНаПроживание
						,_Fld27114	= @КоррСчетБанка
						,_Fld27115	= @Телефон
						,_Fld27116	= @РасчетПособияИзТарифнойСтавки
						,_Fld27117	= @ТарифнаяСтавкаОклад
						,_Fld27118	= @ТелефонСоставителя
						,_Fld27119	= @АдресПочтовыйКодПоКЛАДР
						Where _IDRRef = @Ссылка";
					}
					Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
					/*Команда.Parameters.AddWithValue("Версия", Версия);*/
					Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
					Команда.Parameters.AddWithValue("Номер", Номер);
					Команда.Parameters.AddWithValue("Комментарий", Комментарий);
					Команда.Parameters.AddWithValue("ДатаДействия", ДатаДействия);
					Команда.Parameters.AddWithValue("ДатаНачала", ДатаНачала);
					Команда.Parameters.AddWithValue("ДатаОкончания", ДатаОкончания);
					Команда.Parameters.AddWithValue("ДатаОкончанияПособияДоПолутораЛет", ДатаОкончанияПособияДоПолутораЛет);
					Команда.Parameters.AddWithValue("ДатаОкончанияПособияДоТрехЛет", ДатаОкончанияПособияДоТрехЛет);
					Команда.Parameters.AddWithValue("СреднедневнойЗаработок", СреднедневнойЗаработок);
					Команда.Parameters.AddWithValue("КоличествоДетей", КоличествоДетей);
					Команда.Parameters.AddWithValue("КоличествоПервыхДетей", КоличествоПервыхДетей);
					Команда.Parameters.AddWithValue("ВыплачиватьПособиеДоПолутораЛет", ВыплачиватьПособиеДоПолутораЛет);
					Команда.Parameters.AddWithValue("ВыплачиватьПособиеДоТрехЛет", ВыплачиватьПособиеДоТрехЛет);
					Команда.Parameters.AddWithValue("УдалитьПриказ", УдалитьПриказ.Ссылка);
					Команда.Parameters.AddWithValue("ОсвобождатьСтавку", ОсвобождатьСтавку);
					Команда.Parameters.AddWithValue("ДанныеПрошлойВерсии", ДанныеПрошлойВерсии);
					Команда.Parameters.AddWithValue("ИсправляемыйДокумент", ИсправляемыйДокумент.Ссылка);
					Команда.Parameters.AddWithValue("ДвиженияИсправляемогоДокумента",new byte[0]);
					Команда.Parameters.AddWithValue("ПериодРасчетаСреднегоЗаработкаНачало", ПериодРасчетаСреднегоЗаработкаНачало);
					Команда.Parameters.AddWithValue("ПериодРасчетаСреднегоЗаработкаОкончание", ПериодРасчетаСреднегоЗаработкаОкончание);
					Команда.Parameters.AddWithValue("ПрименятьЛьготыПриНачисленииПособия", ПрименятьЛьготыПриНачисленииПособия);
					Команда.Parameters.AddWithValue("СреднедневнойЗаработокПереходногоПериода2010", СреднедневнойЗаработокПереходногоПериода2010);
					Команда.Parameters.AddWithValue("УчитыватьЗаработокПредыдущихСтрахователей", УчитыватьЗаработокПредыдущихСтрахователей);
					Команда.Parameters.AddWithValue("РасчетПоПравилам2010Года", РасчетПоПравилам2010Года);
					Команда.Parameters.AddWithValue("ПеречислятьПособиеПочтовымПереводом", ПеречислятьПособиеПочтовымПереводом);
					Команда.Parameters.AddWithValue("НаименованиеБанка", НаименованиеБанка);
					Команда.Parameters.AddWithValue("БИКБанка", БИКБанка);
					Команда.Parameters.AddWithValue("НомерЛицевогоСчета", НомерЛицевогоСчета);
					Команда.Parameters.AddWithValue("АдресПочтовый", АдресПочтовый);
					Команда.Parameters.AddWithValue("Фамилия", Фамилия);
					Команда.Parameters.AddWithValue("Имя", Имя);
					Команда.Parameters.AddWithValue("Отчество", Отчество);
					Команда.Parameters.AddWithValue("СерияДокумента", СерияДокумента);
					Команда.Parameters.AddWithValue("НомерДокумента", НомерДокумента);
					Команда.Parameters.AddWithValue("ДатаВыдачиДокумента", ДатаВыдачиДокумента);
					Команда.Parameters.AddWithValue("ДатаДействияДокумента", ДатаДействияДокумента);
					Команда.Parameters.AddWithValue("АдресРегистрации", АдресРегистрации);
					Команда.Parameters.AddWithValue("ДатаСправкиОНеполученииПособияОтОтца", ДатаСправкиОНеполученииПособияОтОтца);
					Команда.Parameters.AddWithValue("НомерСправкиОНеполученииПособияОтОтца", НомерСправкиОНеполученииПособияОтОтца);
					Команда.Parameters.AddWithValue("ДатаСправкиОНеполученииПособияОтМатери", ДатаСправкиОНеполученииПособияОтМатери);
					Команда.Parameters.AddWithValue("НомерСправкиОНеполученииПособияОтМатери", НомерСправкиОНеполученииПособияОтМатери);
					Команда.Parameters.AddWithValue("ПроживаниеРаботаВЛьготнойЗоне", ПроживаниеРаботаВЛьготнойЗоне);
					Команда.Parameters.AddWithValue("СтатусЛьготнойЗоны", СтатусЛьготнойЗоны.Ключ());
					Команда.Parameters.AddWithValue("ДатаСправкиПоДругимМестамРаботы", ДатаСправкиПоДругимМестамРаботы);
					Команда.Parameters.AddWithValue("НомерСправкиПоДругимМестамРаботы", НомерСправкиПоДругимМестамРаботы);
					Команда.Parameters.AddWithValue("КемВыданДокумент", КемВыданДокумент);
					Команда.Parameters.AddWithValue("ДатаВыдачиДокументаНаПроживание", ДатаВыдачиДокументаНаПроживание);
					Команда.Parameters.AddWithValue("НомерДокументаНаПроживание", НомерДокументаНаПроживание);
					Команда.Parameters.AddWithValue("СерияДокументаНаПроживание", СерияДокументаНаПроживание);
					Команда.Parameters.AddWithValue("НаименованиеДокументаНаПроживание", НаименованиеДокументаНаПроживание);
					Команда.Parameters.AddWithValue("КоррСчетБанка", КоррСчетБанка);
					Команда.Parameters.AddWithValue("Телефон", Телефон);
					Команда.Parameters.AddWithValue("РасчетПособияИзТарифнойСтавки", РасчетПособияИзТарифнойСтавки);
					Команда.Parameters.AddWithValue("ТарифнаяСтавкаОклад", ТарифнаяСтавкаОклад);
					Команда.Parameters.AddWithValue("ТелефонСоставителя", ТелефонСоставителя);
					Команда.Parameters.AddWithValue("АдресПочтовыйКодПоКЛАДР", АдресПочтовыйКодПоКЛАДР);
					Команда.ExecuteNonQuery();
				}
			}
		}
		public void Удалить()
		{
			using (var Подключение = new SqlConnection(СтрокаСоединения))
			{
				Подключение.Open();
				using (var Команда = Подключение.CreateCommand())
				{
					Команда.CommandText = @"Delete _Document346
					Where _IDRRef=@Ссылка";
					Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
					Команда.ExecuteNonQuery();
				}
			}
		}
	}
}